home *** CD-ROM | disk | FTP | other *** search
/ Day Cry / Day Cry CD.bin / oh_towns / install / instein.c < prev    next >
Text File  |  1994-09-20  |  5KB  |  172 lines

  1. /*************************************************************************
  2. *    EIN(TM) âCâôâXâgü[âïÅêù¥
  3. *************************************************************************/
  4.  
  5.  
  6. int        _ein_make_lcnf(char *instdir);
  7.  
  8. int        install_ein()
  9. {
  10.     int                ret, drv, fcopy_att, srcdrv, item_setup;
  11.     char           *softname;
  12.     char           *helpfn;
  13.     char           *srcdir;
  14.     char            instdir[256], *instfile;
  15.     char           *item_prog, *item_ttl, item_para[128];
  16.     int                item_att;
  17.     char           *dlgTxm;
  18.     char            tmp[256];
  19.  
  20.     instdir[0] = '\0';
  21.     softname   = "édéhém(TM)âvâìâWâFâNâg èεû{âZâbâg";
  22.     srcdir     = "/OH_TOWNS/EIN";
  23.     instfile   = "l.cnf *.dll *.doc *.exg *.icn";
  24.     helpfn     = "/OH_TOWNS/EIN/README.DOC";
  25.     item_ttl   = "EINâëâôâ`ââü[";
  26.     item_prog  = "L.EXG";
  27.     item_att   = 2;
  28.  
  29.     srcdrv = toupper(DirStart[0]) - 'A';
  30.  
  31.  
  32. _TOP:
  33.     syl_putf("%s",softname);
  34.     dlgTxm = DlgTxm_open(ColBoxNormal);
  35.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  36.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  37.         "%s é≡âCâôâXâgü[âïé╡é▄é╖üB", softname );
  38.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
  39.  
  40.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r'  , KA_EXEC  ,
  41.         1, "", 0, "▓▌╜─░┘ : [Ä└ìs]");
  42.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'H'   , KA_H     ,
  43.         2, "inst_help", helpfn, "Éαû╛ : [H]");
  44.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
  45.         3, "", NULL, "ĵÅ┴ : [ĵÅ┴]");
  46.  
  47.     DlgTxm_setSize(dlgTxm,480,40);
  48.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  49.     do
  50.     {
  51.         ret = DlgTxm_start(dlgTxm);
  52.     } while ( ret == 2 );
  53.     DlgTxm_close(dlgTxm);
  54.     if ( ret != 1 )
  55.         goto _RET;
  56.  
  57.  
  58.     /* âCâôâXâgü[âïɵÄwÆΦ    --------------------------------------------*/
  59.     ret = APL_setInstallDir(instdir,"%s : âCâôâXâgü[âïɵÄwÆΦ", softname);
  60.     if ( ret )
  61.         goto _TOP;
  62.  
  63.     dlgTxm = DlgTxm_open(ColBoxNormal);
  64.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  65.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  66.         "%s", instdir );
  67.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  68.         "é▒é╠âfâBâîâNâgâèé╔âCâôâXâgü[âïé╡é─éαéóéóé┼é╖é⌐üH" );
  69.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,"");
  70.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  71.         "▓▌╜─░┘1 üc âtâ@âCâïé≡òíÄ╩é╡é─TownsMENU é╔âAâCâeâÇôoÿ^");
  72.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  73.         "▓▌╜─░┘2 üc âtâ@âCâïé≡òíÄ╩üiâAâCâeâÇôoÿ^é═é╡é╚éóüj    ");
  74.  
  75.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r'  , KA_EXEC  , 1, "", 0, "▓▌╜─░┘1 : [Ä└ìs]");
  76.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'C'   , KA_C     , 2, "", 0, "▓▌╜─░┘2 : [C]");
  77.  
  78.     DlgTxm_setSize(dlgTxm,320,40);
  79.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  80.     ret = DlgTxm_start(dlgTxm);
  81.     DlgTxm_close(dlgTxm);
  82.     if ( ret != 1 && ret != 2 )
  83.         goto _TOP;
  84.     item_setup = (ret == 1 ? 1 : 0);
  85.  
  86.     /* âCâôâXâgü[âïèJÄn    ------------------------------------------------*/
  87.     syl_putf("INSTALL START");
  88.     FS_chdrv(srcdrv);
  89.     FS_getFullPn(tmp,srcdir);
  90.     fcopy_att = FCOPY_ATT_SUBDIR | FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE;
  91.     ret = FCOPY_exec(fcopy_att, tmp, instfile, instdir);
  92.  
  93.     /* âAâCâeâÇôoÿ^    ----------------------------------------------------*/
  94.     if ( ret == NORMAL && item_setup != 0 )
  95.     {
  96.         syl_putf("ITEM SETUP");
  97.         drv = toupper(instdir[0]) - 'A';
  98.  
  99.         strcpy(tmp,instdir);
  100.         add_path_fn(tmp,item_prog);
  101.  
  102.         strcpy(item_para,instdir);
  103.         add_path_fn(item_para,"einstd.icn");
  104.         item_setApl( drv, 1024, item_ttl, tmp, item_para, item_att );
  105.  
  106.         _ein_make_lcnf(instdir);
  107.     }
  108.  
  109.     /* âCâôâXâgü[âïÅIù╣    ------------------------------------------------*/
  110.     install_end( softname, ret );
  111.  
  112. _RET:
  113.     syl_clear();
  114.     return (0);
  115. }
  116.  
  117. int        _ein_make_lcnf(char *instdir)
  118. {
  119.     int                i, argc;
  120.     char           *fp;
  121.     char          **argv;
  122.     char            *s, tmp[256], path[256];
  123.     static char       *tbl[18] =
  124.     {
  125.         "# EIN(TM)âëâôâ`ââü[L.EXG É▌ÆΦâtâ@âCâïâTâôâvâï",
  126.         "# ÅæÄ«:",
  127.         "# âvâìâOâëâÇû╝,MODE; 0:EXG/1:EXP/2:EXP-overay/3:EXE/COM, ICON No.,X Y, ",
  128.         "#            0:FIX/1-GROUP, command line",
  129.  
  130.         "#"                                        ,
  131.         "TMENU.EXG        \"EIN(TM),0,1024,0 20,0,\"",
  132.         "FVI.EXG        \"FILER,0,1034,,0,\""      ,
  133.         "MVI.EXG        \"EDITOR,0,1035,,0,\""     ,
  134.         "#CONSOLE,2,1027,,0,D:\\CONSOLE.EXE"       ,
  135.         "#Windows,2,1026,,0,D:\\EXE\\REIPL.COM E:" ,
  136.         "#"                                        ,
  137.         "CDP.EXG        \"CDplay,0,1040,,2,\""     ,
  138.         "ANIMICS.EXG    \"Animics,0,1044,,2,\""    ,
  139.         "#TIFF,1,1046,,2,D:\\T_TOOL\\TIFF.EXP"     ,
  140.         "LHAT.EXG        \"LHA,0,1045,,2,\""        ,
  141.         NULL
  142.     };
  143.  
  144.     strcpy(tmp,instdir);    add_path_fn(tmp,"l.cnf");
  145.     if ( (fp = FS_fopen(tmp,"wb")) == NULL )
  146.         return (ERR);
  147.     for ( i = 0; tbl[i] != NULL; ++i )
  148.     {
  149.         s = tbl[i];
  150.         if ( *s == '#' )
  151.         {    /* âRâüâôâgìs    */
  152.             fputs(s,fp);
  153.         } else
  154.         {
  155.             if ( (argc = DTA_makeArg(s,&argv)) > 0 )
  156.             {
  157.                 if ( argc == 2 )
  158.                 {
  159.                     strcpy(tmp,instdir);
  160.                     add_path_fn(tmp,argv[0]);
  161.                     FS_dosFn( path, tmp);
  162.                     fprintf(fp,"%s%s",argv[1], path);
  163.                 }
  164.                 DTA_clearArg(argc,argv);
  165.             }
  166.         }
  167.         fputs("\r\n",fp);
  168.     }
  169.     FS_fclose(fp);
  170.     return (NORMAL);
  171. }
  172.